// 引入接口文件
import {getRegion} from './integralManagement_cloudServ.js'
import $ from 'jquery';

// 对象和JSON字符串互转
import { parse } from 'qs'
// 弹出消息框
import { message } from 'antd'
// 日期处理对象
import moment from 'moment'
/* isEmpty 对象是否为空
 * isArray 对象是否数组
 * cloneDeep 对象深拷贝
 */
import {isEmpty, isArray, cloneDeep, merge} from 'lodash'
// 引入路由对象
import { hashHistory } from 'dva/router'
import config from 'config/config';
import { download } from '../../../utils/util.js';
import Cookie from 'js-cookie'

// 初始默认状态
const defultState = {
  loading: false,
  btnLoading: false,
  biz: {
    queryForm: {}
  },
  regionList:[],
}

// 声明module
const tmpModule = {
  // namespace: 'productListModel',
  // 默认状态
  state: cloneDeep(defultState),
  // 入口函数(先执行)
  subscriptions: {
    setup ({dispatch, history}) {
      history.listen(({ pathname, query }) => {
        // 页面路由匹配时执行
        if('' + tmpModule.pathname === '' + pathname){
          dispatch({ type: 'getRegion',payload: {regionIds:[Cookie.get(config.cookie.regionId)?Cookie.get(config.cookie.regionId):'A30003439']}});
          // dispatch({ type: 'updateStore', payloand: {...cloneDeep(defultState), ...query} });//每次进去页面先重置状态
          // 执行业务操作
        } // end if
      }) // end listen
    },
  },

  // 方法列表
  effects: {
    *getRegion({ payload }, { put, call, select }) {
      try {
        let {success,rows} = yield call(getRegion, {...payload })
        if (success) {
          let regionList = rows
            regionList.forEach((item,index)=>{
      				item.value = item.regionId
      				item.label = item.regionName
      				item.key = index
            })
          yield put({ type: 'updateStore', payload: { regionList } })
        }
      } catch (e) {
      }
    },
    //删除
    // *delPremise({payload},{ put, call, select }){
    //   console.log(payload,'--------------')
    //   try{
    //     console.log(delPremise)
    //     const { data, success } = yield call(delPremise,payload);
    //     let defultState = yield select(state => state[tmpModule.namespace])
    //     if(success) {
    //       message.success('删除成功',()=>{
    //         console.log(defultState.biz)
    //         defultState.biz.refreshListDatas(true)
    //       })
    //     }else{

    //     }
    //   }catch(e){

    //   }
    // },
    //导出
    *exportFeedback({ payload }, { put, call, select }) {
      let { biz } = yield select(state => state[tmpModule.namespace])
      let params = { pageSize: 9999, pageNo: 1, ...biz.queryForm }
      let {data,success} = yield call(exportFeedback, params)
      if (success) {
        var $a = $("<a>");
        $a.attr("href", data.href);
        $a.attr("download", '商品列表');
        $("body").append($a);
        $a[0].click();
        $a.remove();
        console.log(data)
        message.success('导出成功,正在为您下载表格')
        // download(data.href)
        // yield put({
        //   type:'updateStore',
        //   payload:{
        //     fileurl:data.href
        //   }
        // })
      }
    }
  },

  // 存入状态机
  reducers: {
    updateStore(preState, action) {
      return Object.assign({}, preState, action.payload)
    },
  }
}

export default tmpModule
